package com.wyp168.jvm001.stack;

/**
 * @ClassName StackFrameTest001
 * @Description 模拟演示栈帧入栈和出站
 *              方法结束分为两种形式：1⃣️方法正常执行结束，返回结果；2⃣️方法抛出异常后，栈帧被弹出
 * @Author wyp168
 * @Date 2022/8/3 09:37
 */
public class StackFrameTest001 {
    public static void main(String[] args) {
        StackFrameTest001 test = new StackFrameTest001();
        test.method01();
    }

    public void method01() {
        try {
            System.out.println("方法method01()开始执行...");
            method02();
            int res = 10/0;
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("方法method01()执行即将结束...");
    }

    public int method02() {
        System.out.println("方法method02()开始执行...");
        int aa = 100;
        method03();
        System.out.println("方法method02()执行即将结束...");
        return aa;
    }

    public double method03() {
        System.out.println("方法method01()开始执行...");
        double bb = 10.20;
        System.out.println("方法method01()执行即将结束...");
        return bb;
    }

}
